Welcome to the NAG SMP Library (pdf version)
NAG Library Manual

Welcome to the NAG SMP Library, Mark 21

+ Contents

1  Introduction

Welcome! This booklet provides an introductory overview to the latest Mark (edition) of the NAG SMP Library. This versatile Fortran and OpenMP-based product is a performance-enhanced version of the NAG Fortran Library. It is designed for use on multi-procesor systems by computer users who
program in the Fortran programming language, or
program in other programming languages that can call Fortran-based software, or
use one of the large number of application packages that can call Fortran-based software – see more about the versatility of this product in Section 2.2.
This edition of the NAG SMP Library has identical functionality and subroutine interfaces as the latest edition of the NAG Fortran Library. Hence, from this edition onwards, the NAG SMP Library will use the same version numbering scheme as the NAG Fortran Library.
The booklet contains useful information about the Library for readers who are new to NAG products and for existing users of this product who are updating to Mark 21.
Please note that all the documents referred to in this booklet are provided on the release medium and can also be found on the NAG web site under NAG SMP Library documentation.
If you are new to NAG, please go to Section 2.
If you are already a NAG ‘regular’, then please read on.
If you have used, installed or supported the NAG SMP Library at previous editions, here is where to find out more about what has changed at Mark 21.
The document entitled ‘Mark 21 News - NAG SMP Library’ lists the Library routines that have been added at Mark 21. The total number of new routines added is 374, bringing the total number of documented, user-callable routines to 1532. New areas of functionality include large scale eigensolvers, direct solvers for sparse linear systems, mixed effects regression and copula distributions.
Mark 21 News - NAG SMP Library’ also lists routines that have been withdrawn at this Mark, and routines scheduled for withdrawal at a later Mark.
The Installer's Note is, as at previous editions, the document to read, if you are responsible for installing the Library at your site. Even though you may be familiar with the Library and installation procedures, we encourage you to read this latest version. You will find details of particular changes made at Mark 21 (e.g., in the computer environment used to assemble and test the Library) that may be significant for you and your users, as compared to previous editions.
Likewise, users of the Library are encouraged to read the Users' Note supplied with Mark 21.
If you are an occasional, rather than a regular, user of the NAG Library, it may be useful to refer, as a reminder, to Section 2 of the Essential Introduction, which gives important advice on issues such as correct parameter calling, error handling and thread safety.
Section 3 of this booklet lets you know about other NAG products and services, and if you wish to discuss any of them further with us, we would be delighted to hear from you.
Finally, we remind NAG ‘regulars’ to check out the NAG web site often. NAG policy is to make increasing use of the NAG web site to enhance the flow, relevance and quality of information and support to its users, both regulars and newcomers. There is also a reminder of how to contact NAG in Section 4.

2  Guide for Newcomers

2.1  About NAG

Founded in 1970 as an inter-university collaborative software project in the United Kingdom, NAG became an incorporated not-for-profit organisation in 1976. Today NAG employs over 60 people in the UK, USA and Japan and has an extensive international network of distributors. NAG has retained its not-for-profit status and its dedication to providing first-class products and technical support.
From its beginning to the present day, NAG has produced high-quality software components that are robust, reliable and portable across a wide range of platforms and operating systems, from the smallest PC to the most modern supercomputers. As Barbara Raw, in Program Now, The Advanced Programmers' Journal said:
NAG has also been involved in many collaborative ventures with universities and research bodies around the world, contributing and receiving expertise through such involvement, and thus ensuring that it remains at the forefront in research and development. NAG is widely recognised for its long and distinguished contribution to the scientific and technical computing community through its participation, largely at its own expense, in a number of activities to promote standards, develop an underlying corpus of numerical software, and to promulgate best practice. These activities have included taking part in the development of high-quality public domain software packages, most notably LAPACK and the BLAS, and in the specification of successive standards of the Fortran programming language.
If you want to read more about the history, aims and organisation of NAG, please visit the NAG web site.

2.2  About the NAG Library

When compared with other commercially available numerical libraries the NAG Library is indisputably the largest tailored collection of numerical and statistical software components. It is also widely regarded by experts in the field as the best documented, best supported, most intensively tested and most actively developed of any such products. As well as its size and consistency, its quality is a clear differentiator, particularly when compared to some public domain software.
Because of NAG's commitment to enhancement, both in terms of functionality and in the software engineering techniques at the heart of its development process, users of the NAG Library can look forward to the prospect of an expanding set of functionality, that is fully supported and meticulously documented, and available for calling from a growing number of computing languages, packages and environments. The NAG SMP Library is a performance-enhanced version of the NAG Fortran Library designed for multi-processor systems. It can be used from multiple languages, including Fortran, Fortran 95, C and C++.
To keep up-to-date with these exciting developments, be sure to check the NAG web site regularly for the latest news. Another way of keeping up-to-date with product development and new releases of software at NAG is to subscribe to our e-newsletter, NAGNews. If you would like to receive the newsletter simply email the Response Centre or visit our web site to register online.

2.3  Range of Contents

At Mark 21, the NAG SMP Library contains 1532 user-callable routines. These are organised in the form of chapters, of which there are 44. To see the breadth and depth of coverage now provided by the NAG SMP Library, please refer to the Library Contents.

2.4  World Class Documentation

Underpinning the quality of all NAG software is its renowned and comprehensive documentation. The software in the Library is accompanied by thorough documentation, giving you the detailed information you need to help you carry out your work quickly and efficiently. Documentation available for the NAG SMP Library, includes:
Installer's Note. Used by those responsible for installing the Library at your site. Particular changes at Mark 21, as compared to previous editions, will be included in this document.
Users' Note. Essential reading for every user of the Library, the Users' Note provides implementation-specific detail that augments the information provided in the product documentation.
Essential Introduction. Essential reading for every prospective user of the Library, this document provides information fundamental to the successful use of the Library. It begins with a description of the product and documentation, describes key issues regarding product use, and gives details of NAG's support facilities.
The NAG SMP Library Manual. Includes all the documentation listed above along with detailed information on the structure of the Library, a listing and details on use of the routines and documentation, and other helpful information such as example programs. The manual has been provided, in full, on the release medium and can also be found on the NAG web site under SMP Library documentation. In both cases, HTML index files provide easy navigation to all the PDF format documents.
Example Programs. A major and arguably unique innovation made by NAG from its very beginning was to insist upon a fully worked example program for each user-callable routine in its Library. The example program provides a relatively straightforward application of its associated Library routine to provide answers to a meaningful problem. With the exception of utility routines, the policy of providing such examples has been maintained throughout the history of the Library because it was and is seen as a major element in the support of Library users.
The Mark 21 Library documentation contains 1213 fully worked examples, and these are all available in machine-readable form, on the release medium and on the NAG web site.
We know from many contacts with users of the NAG Library, just how useful these examples have proven to be, and we encourage newcomers particularly to look at a selection of examples.

2.5  Case Studies

An important and growing form of reference is the set of user application studies now available via the NAG web site. The current case studies describe actual use of NAG software in a wide variety of fields such as:
When you have successfully developed your application using NAG Library software and wish to contribute it to the set of published case studies, we will be delighted to hear from you!

2.6  What You Need to Know

If your role is to install the NAG SMP Library at a site, then the key document for you is the Installer's Note on the release medium. That note provides a number of important pieces of information, including:
  1. the computing environment in which the particular system version (the ‘implementation’, to use a NAG term) was compiled and tested;
  2. the computing environment(s) in which the supplied implementation is considered suitable for use;
  3. details of the software licensing mechanism;
  4. description of the installation process itself;
  5. further information about options in the way that you can make the Library available to your users – these might refer to vendor-supplied sub-libraries of optimized linear algebra software, for example.
If you are a new user of the NAG Library, or are about to take on the role of user support, the two key documents on the release medium for you are:
  1. The Users' Note, which describes any specific characteristics of using the NAG Library on your particular platform – it is very important to ensure that you are using the right implementation of the Library for your computing platform.
  2. The Essential Introduction to the NAG SMP Library Manual is, as the title suggests, essential reading for any prospective user of the Library. Its sections contain advice and information on:
    the organisation of the Library and conventions used;
    the use of the Library;
    how to find your way through the very extensive set of Library documentation;
    how to obtain support from NAG;
    the background to NAG;
    references for the interested reader.

2.7  Support from NAG

NAG's enduring aim is to ensure that all its customers gain maximum benefit from the investment they make when they license NAG products and services. The first method of achieving this is by the continuing development of products and services, which are well designed for their purpose and engineered to high quality standards, with all the painstaking preparation and testing that those standards require. When you have licensed software from NAG, our aim is to ensure that you:
receive it in a timely manner,
can install it simply and satisfactorily,
can readily exploit its functionality for your applications.
The NAG web site provides a valuable resource for product information, frequently-asked questions, implementation availability, technical documentation and demonstrations as well as general information about NAG.
From time to time, you may need to contact us if you need further information or advice. The NAG Response Centres provide central points of contact for any query about NAG products and services. Enquiries are of a wide variety and include questions concerning:
product functionality;
product availability for specific computer systems;
product usage for a particular user application;
product installation;
order progress;
documentation availability;
possible software errors.
The Response Centres can be contacted by telephone, fax, e-mail or conventional mail. See the NAG web site for details.
If your enquiry is of a technical nature that requires specialist skills to answer, then it will be referred, by the Response Centre, to the relevant technical specialist. The support provided through this facility is one of the most praised aspects of the customer services provided by NAG. The collective experience of the colleagues who provide this service is very extensive. Below we mention some key advice based on that experience.

2.8  Tips from the NAG Response Centre

NAG draws upon the experience gained through user feedback generally, and through the NAG Response Centre in particular, and applies that experience in developing successive versions of NAG products to make them easier to use and more robust. For the NAG SMP Library, here are the ‘top tips’.
  1. Regarding installation, the largest number of queries received relate to software licensing issues. NAG is committed to developing and refining the licensing mechanisms in use so that as far as possible they are:
    easy to install and maintain;
    unobtrusive in relation to legitimate use;
    effective in preventing illegitimate use and piracy.
    NAG firmly believes that its pursuit of that policy is not only in its best interest, but also in the best interests of its user base, both site installation managers and users. We therefore ask that installers pay particular note to the information given in the relevant section of the Installer's Note. If you see ways in which the information given there can be improved, please let us know. We will be pleased to hear from you.
  2. In terms of routine usage queries from users, undoubtedly the largest single group of problems relate to calling parameter issues. For example:
    has the NAG Library routine been called with the correct number of parameters?
    do all the parameters have the correct type?
    are array parameters set properly?
    is the error-detection flag (IFAIL) being used OK?
    Section 2.2 of the Essential Introduction addresses these issues, and Section 2.3 of the Essential Introduction deals with ‘Error Handling and the Parameter IFAIL’, which is another very important facet of the NAG Library that newcomers to the Library should note.

3  The NAG Range of Products and Services

Both newcomers to the NAG SMP Library and current users may be unfamiliar with other NAG products and services. The product range, besides the SMP-based Library includes:
the NAG Fortran Library
the NAG C Library
the NAG Fortran 90 Library (fl90)
the NAG Parallel Library
the NAGWare range of Fortran compilers and programming support tools
DMC, a suite of software components for data mining and analysis
IRIS Explorer, an advanced visualization system for building applications
NAG also provides a range of consulting and component-licensing services to end user organisations and other companies that, like NAG, are leading players in their respective fields within the Information Technology industry. The world's leading computer hardware manufacturers work closely with NAG to ensure that NAG software is optimized for their customers. In addition, they value the quality of the NAG routines in terms of their accuracy, robustness and reliability when testing their compilers. Indeed a number of the hardware manufacturers license NAG code and/or expertise in developing their own core numerical libraries.
Software vendors also value NAG software with a growing number using NAG routines at the core of their own software. They recognise that the accuracy, reliability and robustness of the NAG software significantly reduces their time-to-market and maintenance costs. These important savings apply equally to in-house projects.
Routines tailored for performance and/or functionality are available through the NAG Consulting Service. Using NAG's large code base, consultants build cost effective solutions on a quality foundation. In addition, NAG's adherence to industry standards and cross-platform development skills can be used to revitalise existing code. As Alan Scowcroft, Managing Director, Equities Quantitative Research, UBS Investment Research said:
Consulting teams are based in Oxford, Chicago and Tokyo. For further details of any of the above products and services, please go to the NAG web site.

4  Contacting NAG

NAG Response Centres
The NAG Response Centres are available for general enquiries from all users and also for technical queries from users with support.
The Response Centres are open during office hours, but contact is possible by fax, email and telephone (answering machine) at all times. Please see the Users' Note or the NAG web site for contact details.
When contacting one of the NAG Response Centres, it helps us to deal with your query quickly if you can quote your NAG user reference and NAG product code.
NAG Web Site
The NAG web site is an information service providing items of interest to users and prospective users of NAG products and services. The information is regularly updated and reviewed, and includes implementation availability, descriptions of products, down-loadable software, case studies, industry articles and technical reports. The NAG web site can be accessed via:

Welcome to the NAG SMP Library (pdf version)
NAG Library Manual

© The Numerical Algorithms Group Ltd, Oxford, UK. 2006